package com.xuecheng.media.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xuecheng.api.media.model.aliyun.dto.MediaDTO;
import com.xuecheng.api.media.model.aliyun.qo.QueryMediaModel;
import com.xuecheng.common.domain.page.PageRequestParams;
import com.xuecheng.common.domain.page.PageVO;
import com.xuecheng.common.domain.response.RestResponse;
import com.xuecheng.media.entity.Media;

public interface MediaService extends IService<Media> {


    /**
     * 保存媒资信息
     *
     * @param dto
     * @return
     */
    MediaDTO createMedia(MediaDTO dto);

    PageVO<MediaDTO> queryMediaList(PageRequestParams params, QueryMediaModel queryMediaModel, Long companyId);

    boolean removeMediaById(Long mediaId, Long companyId);

    /**
     * 课程审核
     *
     * @param mediaDTO
     * @return
     */
    void approve(MediaDTO mediaDTO);

    /**
     * 机构或平台预览课程内容
     *
     * @param mediaId
     * @return
     */
    String getVODUrl(Long mediaId, Long companyId);

    /**
     * 根据id查询媒资信息-远端服务调用
     * @param mediaId
     * @return
     */
    RestResponse<MediaDTO> getById4Service(Long mediaId);
}
